#include <string>
#include <vector>
#include <fstream>

std::vector<std::vector<int>> getHeatLosses()
{
    std::vector<std::vector<int>> heatLosses {};

    std::ifstream infile {"./src/day17/input.txt"};
    std::string line {};
    while (std::getline(infile, line))
    {
        std::vector<int> heatLossLine {};
        for (char ch : line)
            heatLossLine.emplace_back( ch - '0' );
        heatLosses.emplace_back(std::move(heatLossLine));
    }

    return heatLosses;
}

using Position = std::pair<int, int>;

enum class Direction
{
    Left,
    Right,
    Up,
    Down,
};

void backtrack(
    const Position& posistion,
    int& heatLossSum,
    int straightSize,
    Direction direction,
    const Position& targetPosition,
    const std::vector<std::vector<int>>& heatLosses
)
{
    if (posistion == targetPosition)
        return;
    
    // Choise
    // You can 
}

int main()
{

}